package com.sherry.servlet;

import com.alibaba.fastjson.JSONObject;
import com.sherry.model.Fruit;
import com.sherry.service.IFruitService;
import com.sherry.service.impl.FruitServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

//定义接口名
@WebServlet("/fruit/update")
public class UpdateFruitServlet extends HttpServlet{
    //处理post请求
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /* request：请求对象==> 请求相关的信息和方法
         * response：响应对象  =>  响应相关的信息和方法
         * reuest.getParameter("前端提交的参数的名字")  => 获取前端提交的数据*/

        //防止中文乱码
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        //请求
        //System.out.println的输出是在后端IDE-idea的控制台输出的
        System.out.println("接收到前端修改请求");
        Integer updateId=Integer.parseInt(request.getParameter("id"));
        String fname= request.getParameter("fname");
        Double fprice= Double.parseDouble(request.getParameter("fprice"));
        Integer fstock= Integer.parseInt(request.getParameter("fstock"));
        String fsite= request.getParameter("fsite");
        System.out.println("SL:"+updateId+" "+fname+" "+fprice);

        IFruitService fruitService=new FruitServiceImpl();
//        数据模型model的构造函数，传给参数类型是Fruit的fruitService.updateFruit方法
        Integer i= fruitService.updateFruit(new Fruit(updateId ,fname,fprice,fstock,fsite));
        boolean flag=false;
        if (i>0){
            flag=true;
        }


//        500报错原因：
//        1.前后端参数不匹配
//        2.后端逻辑写错了...

        //        处理数据  --json格式
        JSONObject data=new JSONObject();
        //        定义后端返回的json数据中的data对象的字段及其值
        data.put("flag",flag);

//        前后端的数据传递是以字符串的形式来传输的
//        要把data这个json对象转为json字符串

        String dataStr=data.toJSONString();

        //响应
        PrintWriter write = response.getWriter();
        //        中文会乱码，显示为??-》设置编码为utf-8
//        write.write("张三9999999");
        write.write(dataStr);
        write.flush();
    }

    //处理get请求
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //        现在get和post请求不做区别
        doPost(request, response);

    }

}
